取消
首页  »  安卓逆向之模拟器检测  »  安卓逆向之模拟器检测

安卓逆向之模拟器检测

《安卓逆向之模拟器检测》内容简介
安卓逆向之模拟器检测

最近疫情又严重了,大家注意防范哦,出门一定要带口罩,今天小编给大家带来,模拟器检(🥦)测,希望对大家有所帮助,让我们(⏹)一起共同进步。


简单介绍模拟检测的原理(😬)

模拟器检测,顾名思(🚕)义,软件、手游等不能运行在模拟器上面。

灰黑产:比如一个游戏能在模拟器上实现批量刷金币,或者是其他功能,但是模拟器没法启(🏭)动起来,这种情况就得换真机,成本(⏸)也就多了(🍠)。

从正向防(🌄)护角度来看,如何检测模拟器?wifi、蓝牙、电量(是不是一直百分百)、cpu等等,手机的配置信息是非常多的,我们直接获取(🛵)这些细信息,来做一个判断;我们先来看如何获取这些信息:比如手机设(🌞)备号(🔷)、(🏸)时间等等、状态信息等。

在模拟器中打开设置,来到最后一项:(🤜)关于平板电脑

分析代码

首先定义一个数组,检测两个通道,然后循环,判断输出

检测驱动文件内容读取文件内(♎)容,然后检查已知QEmu的驱动程序的列表(📙)


然后,检测模拟器(👙)上特有的几个文件

检测模拟器默认的(😔)电话号码

然后:检测设备IDS 是不是 “000000000000000”


然后:检测imsi id是不是“310260000000000”

然后:检测(😦)手机上的一些硬件信息

然后检测手机(👲)运营商家

然后:基于模拟(🥣)器cpu信息的检测

然后:关键路径检测特定模拟器检测

除了上述这些,比如还一些模拟器默认的软件:

还有检测GPS定位等等其他的,这个就得结合前面的知识具体分(🌄)析了,看他哪个(😝)点、哪个代码是有这些关键检(🤸)测的,还会有可能是多种组组合检测。

分析一个样本

安装,运行效果

对于没有提示的,那就只能多(🚍)分析他的代码(🥛),也就是增加了些(😤)工程(🖌)量。

放到androidkiller里面反编译,一般游戏的话,对模拟器的检测是非常多的。

还有一种协议检测,他会通过发包,把你的包发(📴)给服务器,然后有服务器来判断你目(👧)前(💪)的环境是不是模拟器。这种的话就搜到关键信息,想解决的话只能在后面分析协议,然后慢慢去摸(💽)索了。

我们先来看这个权限(🚺),蓝牙(✍);我们知道模拟器是没有蓝牙的。



简单分析(🧒)一下这些权限;我们也可以在权限上动手脚,如果把权(📵)限删掉就不会调用了,但是如何你直接暴力删掉,有时候程序会崩溃(🕵);



先搜索一波(🤐)(演示(👹)一下(🤓)):应用在模拟器上运行:发现没搜到



转U码试试;搜到两处

过来后,找到所在方法;这个有可(🗜)能就是


看一下本类其他(🗜)方法:还有一个初始化


再来(👡)看一下入口界面;application这里(🐻):

就是这里;


过来后,找到Oncreate:



简单分析下smail;

然后看java代码;进行一个简单分析;

然后看入口界面,发现丢失;

这里cocos2d设计游戏引擎;(👢)

刚才已经找到 运行在模拟器上(🌿)的(🎇)位置:


直接定位过去,看java代码。

if判断,Toast弹出模拟器上运行,然后杀死进程,退出。


其实很明显,改起来也很(⛏)简单,可以(👓)把killproces这个函数nop掉,就可(😾)以(🐚)过掉模拟器检测;(📿)

小结:

以上就是今天小编要给大家讲解的模拟器(🛏)检测了,还给大家实例了一下,不明白的小伙伴可(🎣)以私聊我